//数字枚举
enum Role {
    Reporter,
    Developer,
    Maintainer,
    Owner,
    Guest
}
console.log(Role);
//字符串枚举

enum Message {
    Success = '成功了',
    Fail = '失败了'
}
console.log(Message);

//异构枚举
enum Answer {
    N,
    Y = 'Yes'
}
console.log(Answer);

enum Char {
    //const, 枚举类型分两种，一种是常量枚举，枚举中的值可以相同
    a,
    b = Char.a,
    c = 1 + 3,
    //computed 计算枚举，在编绎时枚举成员的值不确定，运行时才确定，在计算枚举成员之后的值必须赋值
    d = Math.random(),
    e = '123'.length
}
console.log(Char);

//常量枚举
//常量枚举会在编译擦除
const enum Month {
    Jan,
    Feb,
    Mar
}
//使用常量枚举的变量在编译完后直接赋值
let month = [Month.Jan, Month.Feb];